package test;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import util.Reflection;
import engine.Level;
import engine.LevelFactory;
import engine.Sprite;

/**
 * This class implements a LevelFactory for our test game.
 * 
 * It makes more sense to move some of this functionality into
 * the abstract LevelFactory class. Particularly the functionality
 * dealing with loading the xml file. However, since the createLevel
 * method must return a Level and Level is a non-instantiable abstract
 * class, it is not possible to build a level in the abstract LevelFactory
 * with our current API. I suggest we change it.
 * 
 * @author Alex
 */
public class MarioLevelFactory extends LevelFactory {

    @Override
    public Level instantiateLevel() {
        return new TestMarioLevel();
    }

}
